package com.ruoyi.system.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.system.anno.SnowflakeId;
import lombok.Data;

import java.util.List;

/**
 * 移库信息对象 wms_transfer
 *
 * @author ruoyi
 * @date 2025-06-28
 */
@Data
public class WmsTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @SnowflakeId
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 移库单号 */
     @ExcelProperty(value = "移库单号")
    private String transferOrderNo;

    /** 移库类型 */
     @ExcelProperty(value = "移库类型")
    private String transferType;

    /** 移库状态 */
     @ExcelProperty(value = "移库状态")
    private String transferStatus;

    /** 源仓库ID */
     @ExcelProperty(value = "源仓库ID")
    private Long sourceWarehouseId;

    /** 源库区ID */
     @ExcelProperty(value = "源库区ID")
    private Long sourceWarehouseAreaId;

    /** 源货架ID */
     @ExcelProperty(value = "源货架ID")
    private Long sourceWarehouseRackId;

    /** 源货位ID */
     @ExcelProperty(value = "源货位ID")
    private Long sourceWarehouseLocationId;

    /** 目标仓库ID */
     @ExcelProperty(value = "目标仓库ID")
    private Long targetWarehouseId;

    /** 目标库区ID */
     @ExcelProperty(value = "目标库区ID")
    private Long targetWarehouseAreaId;

    /** 目标货架ID */
     @ExcelProperty(value = "目标货架ID")
    private Long targetWarehouseRackId;

    /** 目标货位ID */
     @ExcelProperty(value = "目标货位ID")
    private Long targetWarehouseLocationId;

    /** 商品ID */
     @ExcelProperty(value = "商品ID")
    private Long productId;

    /** 移库数量 */
     @ExcelProperty(value = "移库数量")
    private Long transferQuantity;

    /** 移库操作人ID */
     @ExcelProperty(value = "移库操作人ID")
    private Long transferUserId;


    private List<WmsInventoryHistory> inventoryHistoryList;

}
